package com.logic.landseaserver.service;

import java.util.HashMap;
import java.util.List;

import com.logic.common.exception.BusinessException;
import com.logic.common.service.ICRUDService;
import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.common.exception.LandseaBusinessException;
import com.logic.landseaserver.domain.Customer;
import com.logic.landseaserver.domain.CustomerVersion;
import com.logic.landseaserver.ws.dto.ChapterUserDTO;
import com.logic.landseaserver.ws.dto.CustomerDTO;

public interface ICustomer extends ICRUDService {

    List<Object> queryByPage(QueryUtil queryUtil);

    List<Object> queryVersionPage(QueryUtil queryUtil);

    Integer createCustomer(CustomerDTO customer) throws BusinessException;

    Integer updateCustomer(CustomerDTO customer) throws Exception;

    Integer deleteCustomer(String ids) throws BusinessException;

    CustomerDTO getCustomerInfo(Integer id);

    CustomerDTO queryByLoginId(Customer customer) throws LandseaBusinessException;

    List<ChapterUserDTO> selectChapterUserList(QueryUtil queryUtil);

    Integer insertCustomerVersion(Integer customerId,Integer userId) throws Exception;

    CustomerVersion getNewVersion(Integer userId);

    List<CustomerVersion> queryHistoryFiles(HashMap map);

    Integer getChangeFlag(CustomerDTO customer)throws LandseaBusinessException;

    CustomerDTO queryByUserId(Customer customer) throws LandseaBusinessException;
}
